home *** CD-ROM | disk | FTP | other *** search
/ Animation How-To / Animation How-to CD.iso / PLY / CHAPTER5 / TUG / TG.BAS < prev    next >
BASIC Source File  |  1994-01-01  |  1KB  |  65 lines

  1. SCREEN 12
  2. WINDOW (-4, -3)-(16, 12)
  3.  
  4. pi = 3.14159
  5.  
  6. FOR anglenor = 0 TO 2 * pi STEP pi / 100
  7.  
  8.  
  9. fx1 = 2.5 + 5 * COS(anglenor)
  10. fy1 = 2.5 + 5 * SIN(anglenor)
  11. fz1 = 2.5
  12.  
  13. fx2 = 2.5 + 5 * COS(anglenor)
  14. fy2 = 2.5
  15. fz2 = 2.5 - 5 * SIN(anglenor)
  16.  
  17. fx3 = 2.5
  18. fy3 = 2.5 + 5 * SIN(anglenor)
  19. fz3 = 2.5 - 5 * COS(anglenor)
  20. CIRCLE (fx1, fy1), .2, 1
  21. CIRCLE (fx2, fy2), .2, 2
  22. CIRCLE (fx3, fy3), .2, 3
  23.  
  24.  
  25. f = 1
  26. p = 2
  27.  
  28. FOR a = 1 TO 6
  29. FOR b = 1 TO 6
  30. FOR c = 3 TO 3
  31.  
  32. d1 = ((a - fx1) ^ 2 + (b - fy1) ^ 2 + (c - fz1) ^ 2) ^ .5
  33. d2 = ((a - fx2) ^ 2 + (b - fy2) ^ 2 + (c - fz2) ^ 2) ^ .5
  34. d3 = ((a - fx3) ^ 2 + (b - fy3) ^ 2 + (c - fz3) ^ 2) ^ .5
  35.  
  36. drx1 = a - fx1
  37. dry1 = b - fy1
  38. drz1 = c - fz1
  39.  
  40. drx2 = a - fx2
  41. dry2 = b - fy2
  42. drz2 = c - fz2
  43.  
  44. drx3 = a - fx3
  45. dry3 = b - fy3
  46. drz3 = c - fz3
  47.  
  48. f1 = f / (1 + d1 ^ p)
  49. f2 = f / (1 + d2 ^ p)
  50. f3 = f / (1 + d3 ^ p)
  51.  
  52. x = a + f1 * drx1 + f2 * drx2 + f3 * drx3 + f4 * drx4
  53. y = b + f1 * dry1 + f2 * dry2 + f3 * dry3 + f4 * dry4
  54. z = c + f1 * drz1 + f2 * drz2 + f3 * drz3 + f4 * drz4
  55.  
  56. CIRCLE (x, y), .2
  57.  
  58. NEXT c
  59. NEXT b
  60. NEXT a
  61. 'DO WHILE INKEY$ = "": LOOP
  62. CLS
  63. NEXT anglenor
  64.  
  65.